不同浏览器对 Ajax 调用的URL包含汉字的处理的不同

标签(空格分隔): web前端开发


以前自己在工作室做项目的时候,对于 Ajax 请求时所请求的地址我会默认地对 URL 进行 encodeURI 转码,你问那时候的我为什么这么做,那时候的我其实还真不知道为什么,只是觉得这样会好一点吧?
然后现在在公司做了一个二次开发的项目,接收前辈们的代码,然后在配置权限时,发现了 bug ,我们遇到的问题是,我们的权限是基于对请求地址的判断,但是在 IE 上面,发现权限全部都出不来,而在 Chrome 上面则是正常运行,于是去寻找问题,发现是 Chrome 与 IE 在对 中文处理的编码格式上面的不同导致该问题,后台默认前端已经是 UTF-8 的编码格式,而在 Chrome 下面的确是对请求的 URL 的中文做了编码处理为 UTF-8 ,但是 IE 总是采用 GB2312 编码,所以导致后台识别不出来地址。